Stream processing interface structure, electronic device and electronic apparatus

ABSTRACT

Disclosed are a streaming processing interface structure, an electronic device and an electronic apparatus. The streaming processing interface structure includes: a control streaming dam, including an uplink control pin and a downlink control pin; a first logic unit, which is connected to an uplink object and the uplink control pin, and is used to determine, upon receiving a write request of the uplink object, whether the control streaming dam is writable according to a state of the uplink control pin; and a second logic unit, which is connected to a downlink object and the downlink control pin, and is used to determine, upon receiving a read request of the downlink object, whether the control streaming dam is readable according to a state of the downlink control pin.

TECHNICAL FIELD

The disclosure relates to the technical field of processors, particularly to the technical field of artificial intelligence processors, and specifically to a pipeline processing interface structure, an electronic device and an electronic apparatus.

BACKGROUND

Convolutional neural network (CNN) is a feed-forward neural network, which has artificial neurons that can respond to some of the surrounding cells within a coverage area of the artificial neurons, and has excellent performance for large-scale image processing. The convolutional neural network includes a convolutional layer and a pooling layer.

Now, CNN has become one of the research hotspots in many scientific fields, especially in the field of pattern classification. Since the network avoids the complex pre-processing of images and can have original images inputted directly, the network has been used more widely.

In general, a basic structure of a CNN includes two layers. The first layer is a feature extraction layer, in which an input of each neuron is connected to a local receptive field of a previous layer, and extracts a local feature of the local receptive field. Once the local feature is extracted, its position relationship with other features is also determined. The second layer is a feature mapping layer. Each computing layer of the network is composed of multiple feature mappings, each feature mapping being a plane on which the weights of all neurons are equal. The structure of the feature mapping uses a sigmoid function having a small influence function core as an activation function of the convolutional network, so that the feature mapping is displacement invariant. In addition, since neurons on a mapping plane share the weight, the number of free parameters of the network is reduced. Each convolutional layer in the convolutional neural network is followed by a computing layer for local averaging and second extraction. This specific structure of double feature extraction reduces the feature resolution.

The CNN is mainly used to identify two-dimensional graphics which are invariant under displacement, scaling and other distortion forms. Since the feature detection layer of the CNN learns from the training data, the use of the CNN avoids explicit feature extraction and implicitly learns from the training data; moreover, since the neurons on the same feature mapping plane have the same weight, the network can learn in parallel. This is also a big advantage of convolutional networks over networks where neurons are connected to each other. The convolutional neural network with a special structure of local weight sharing has unique superiority in the aspects of voice recognition and image processing, the layout of the convolutional neural network is more similar to that of an actual biological neural network, the complexity of the network is reduced by weight sharing, and particularly, the complexity of data reconstruction in the processes of feature extraction and classification is avoided by the characteristic that images of multidimensional input vectors can be directly input into the network.

If the convolutional neural network is realized by a hardware convolver or deconvolver, interfaces are required for communication and data transmission among elements in the convolver or deconvolver. At present, all existing communication interfaces need to establish a communication connection through a communication protocol and defining an address. If multiple communication interfaces exist, the communication speed is relatively reduced, and the overall performance of the convolver or deconvolver is impacted.

SUMMARY

In view of the above-mentioned shortcomings of the related art, the object of the present disclosure is to provide a pipeline processing interface structure, an electronic device and an electronic apparatus, so as to solve the problem of slow communication interface speed in the related art.

In order to achieve the above object and other related objects, the present disclosure provides a pipeline processing interface structure. The pipeline processing interface structure includes: a first-in-first-out memory, including an uplink control pin and a downlink control pin; a first logic unit, which is connected to an uplink object and the uplink control pin, and is used to determine, upon receiving a write request of the uplink object, whether the first-in-first-out memory is writable according to a state of the uplink control pin; and a second logic unit, which is connected to a downlink object and the downlink control pin, and is used to determine, upon receiving a read request of the downlink object, whether the first-in-first-out memory is readable according to a state of the downlink control pin.

In an embodiment of the present disclosure, the uplink control pin includes: an uplink write enable pin, a data input pin, and a memory full state identification pin.

In an embodiment of the present disclosure, determining whether the first-in-first-out memory is writable according to the state of the uplink control pin specifically includes: determining whether the first-in-first-out memory is full according to a signal on the memory full state identification pin; if the first-in-first-out memory is not full, making the first-in-first-out memory writeable by sending an enable signal to the writeable enable pin; otherwise, making the first-in-first-out memory not writeable.

In an embodiment of the present disclosure, the first logic unit includes: a first inverter, which includes an input end connected to the memory full state identification pin, and an output end leading to an uplink data identification end for connecting to the uplink object; and a first AND gate, which includes a first input end connected to the uplink data identification end, a second input end connected to an uplink data valid end for connecting to the uplink object, and an output end connected to the write enable pin.

In an embodiment of the present disclosure, the downlink control pin includes: a downlink read enable pin, a data output pin, and a memory empty state identification pin.

In an embodiment of the present disclosure, determining whether the first-in-first-out memory is readable according to the state of the downlink control pin specifically includes: upon receiving the read request of the downlink object, determining whether the first-in-first-out memory is empty according to a signal on the memory empty state identification pin; if the first-in-first-out memory is not empty, making the first-in-first-out memory readable by sending an enable signal to the read enable pin; otherwise, making the first-in-first-out memory not readable.

In an embodiment of the present disclosure, the second logic unit includes: a second inverter, which includes an input end connected to the memory empty state identification pin, and an output end leading to an downlink data valid end for connecting to the downlink object; and a second AND gate, which includes a first input end connected to the downlink data valid end, and a second input end connected to a downlink data identification end for connecting to the downlink object.

An embodiment of the present disclosure also provides an electronic device, including at least one pipeline processing interface structure described above.

In an embodiment of the present disclosure, the electronic device includes a convolver and a deconvolver, where connection between internal components included in the convolver, connection between internal components included in the deconvolver, connection between the convolver and an external memory, and connection between the deconvolver and the external memory are each implemented through the first-in-first-out data interface.

An embodiment of the present disclosure also provides an electronic apparatus, including the pipeline processing interface structure described above.

As described above, the pipeline processing interface structure, electronic device and electronic apparatus of the present disclosure have the following beneficial effects.

The pipeline processing interface structure of the present disclosure includes the first-in-first-out memory, the first logic unit, which is used to determine whether the first-in-first-out memory is writable according to the state of the uplink control pin; the second logic unit, which is used to determine whether the first-in-first-out memory is readable according to the state of the downlink control pin. Communication data are transmitted in the pipeline processing interface structure like continuous running water, so that the pipeline process of data processing is realized, and the problem of low communication interface speed in the related art can be effectively solved.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic diagram of the overall principle of a pipeline processing interface structure in the related art; and

FIG. 2 is a schematic diagram of input and output of a pipeline processing interface structure of the present disclosure.

DESCRIPTION OF REFERENCE SIGNS

-   100: Pipeline processing interface structure -   110: First-in-first-out memory -   120: First logical unit -   121: First inverter -   122: First AND gate -   130: Second logical unit -   131: Second inverter -   132: Second AND gate

DETAILED DESCRIPTION

Embodiments of the disclosure are illustrated by specific examples below, and those skilled in the art may easily understand other advantages and effects of the present disclosure from the content disclosed in the description. The present disclosure may also be implemented or applied through different specific embodiments. The details in the description may also be based on different viewpoints and applications, and various modifications or changes may be made without departing from the spirit of the present disclosure. It is to be noted that if not in collision, the embodiments and features therein may be combined with each other.

It is to be noted that, as shown in FIGS. 1 to 2, the drawings provided in the following embodiments merely schematically illustrate the basic concept of the present disclosure, and the drawings only show the components related to the present disclosure and are not drawn according to the number, shape and size of the components in actual implementation, the type, number and scale of the components may be changed arbitrarily, and the layout of the components may be more complex.

The object of the embodiments is to provide a pipeline processing interface structure, an electronic device and an electronic apparatus, which are used to solve the problem of low communication interface speed in the related art. The following will describe in detail the principle and implementation of the pipeline processing interface structure, electronic device, and electronic apparatus in the embodiment, so that those skilled in the art may understand the pipeline processing interface structure, electronic device, and electronic apparatus of the embodiment without creative work.

Specifically, as shown in FIG. 1, an embodiment provides a pipeline processing interface structure 100. The pipeline processing interface structure 100 includes a first-in-first-out memory 110, a first logic unit 120, and a second logic unit 130.

In the embodiment, the first-in-first-out memory 110 includes: an uplink control pin and a downlink control pin.

Specifically, in the embodiment, as shown in FIG. 2, the uplink control pin includes: an uplink write enable pin, a data input pin, and a memory full state identification pin; and the downlink control pin includes: a downlink read enable pin, a data output pin, and a memory empty state identification pin.

That is, as shown in FIG. 2, the first-in-first-out data interface includes: a first-in-first-out memory 110 (FIFO), including: the uplink write enable pin (write), the data input pin (data_in), and the memory full state identification pin (full); and the downlink read enable pin (read), the data output pin (data_out), and the memory empty state identification pin (empty).

In the embodiment, the first logic unit 120 is connected to an uplink object and the uplink control pin, and is used to determine, upon receiving a write request of the uplink object, whether the first-in-first-out memory 110 is writable according to a state of the uplink control pin.

In the embodiment, the determination of whether the first-in-first-out memory 110 is writable according to the state of the uplink control pin specifically includes to determine whether the first-in-first-out memory 110 is full according to a signal on the memory full state identification pin; if the first-in-first-out memory 110 is not full, to make the first-in-first-out memory 110 writeable by sending an enable signal to the writeable enable pin; otherwise, to make the first-in-first-out memory 110 not writeable.

Specifically, as shown in FIG. 2, in the embodiment, the first logic unit 120 includes: a first inverter 121, which includes an input end connected to the memory full state identification pin, and an output end leading to an uplink data identification end for connecting to the uplink object; and a first AND gate 122, which includes a first input end connected to the uplink data identification end, a second input end connected to an uplink data valid end for connecting to the uplink object, and an output end connected to the write enable pin.

In the embodiment, a second logic unit 130 is connected to a downlink object and the downlink control pin, and is used to determine, upon receiving a read request of the downlink object, whether the first-in-first-out memory 110 is readable according to a state of the downlink control pin.

In the embodiment, the determination of whether the first-in-first-out memory 110 is readable according to the state of the downlink control pin specifically includes, upon receiving the read request of the downlink object, to determine whether the first-in-first-out memory 110 is empty according to a signal on the memory empty state identification pin; if the first-in-first-out memory 110 is not empty, to make the first-in-first-out memory 110 readable by sending an enable signal to the read enable pin; otherwise, to make the first-in-first-out memory 110 not readable.

Specifically, in the embodiment, as shown in FIG. 2, the second logic unit 130 includes: a second inverter 131, which includes an input end connected to the memory empty state identification pin, and an output end leading to an downlink data valid end for connecting to the downlink object; and a second AND gate 132, which includes a first input end connected to the downlink data valid end, and a second input end connected to a downlink data identification end for connecting to the downlink object.

The first logic unit 120 is connected to the uplink object, the write enable pin and the memory full state identification pin, and is used to determine, upon receiving a write request of the uplink object, whether the first-in-first-out memory 110 is full according to a state of the uplink control pin; if the first-in-first-out memory 110 is not full, make the first-in-first-out memory 110 writeable by sending an enable signal to the writeable enable pin; otherwise, make the first-in-first-out memory 110 not writeable.

The second logic unit 130 is connected to an downlink object, the read enable pin and the memory empty state identification pin, and is used to determine whether the first-in-first-out memory 110 is empty according to a signal on the memory empty state identification pin; if the first-in-first-out memory 110 is not empty, make the first-in-first-out memory 110 readable by sending an enable signal to the read enable pin; otherwise, make the first-in-first-out memory 110 not readable.

In the embodiment, the FIFO is writable when the write enable pin (write) is set to “1”, the FIFO is not writable when the write enable pin is set to “0”; the memory full state identification pin (full) is set to “1” when the FIFO is full; when the read enable pin (read) is set to “1”, the FIFO is readable, when the read enable pin is set to “0”, the FIFO is not readable; the memory empty state identification pin (empty) is set to “1” when the FIFO is empty.

As shown in FIG. 2, when the FIFO is full, the memory full state identification pin (full) is set to “1”, “0” is output to an input end of the first AND gate 122 through the first inverter 121, so that the output of the first AND gate 122 is “0”, and the FIFO is not writeable; and when the FIFO is empty, the memory empty state identification pin (empty) is set to “1”, “0” is output to an input end of the second AND gate 122 through the second inverter 131, so that the output of the second AND gate 132 is “0”, and the FIFO is not readable.

Of course, in other embodiments, the digital voltage value indicating the state of each pin may be replaced, for example, enable in case of “0”, which is not limited to the above embodiments; in addition, the first logic unit 120 and the second logic unit 130 may also adopt other logic operation components, and are not limited to FIG. 2.

An embodiment of the present disclosure also provides an electronic device, including at least one pipeline processing interface structure 100 described above.

In an embodiment of the present disclosure, the electronic device includes a convolver and a deconvolver, where connection between internal components included in the convolver, connection between internal components included in the deconvolver, connection between the convolver and an external memory, and connection between the deconvolver and the external memory are each implemented through the first-in-first-out data interface.

An embodiment of the present disclosure also provides an electronic apparatus, including the pipeline processing interface structure 100 described above.

In summary, the pipeline processing interface structure of the present disclosure includes the first-in-first-out memory, the first logic unit used to determine whether the first-in-first-out memory is writable according to the state of the uplink control pin, and the second logic unit used to determine whether the first-in-first-out memory is readable according to the state of the downlink control pin. Communication data are transmitted in the pipeline processing interface structure like continuous running water, so that the pipeline process of data processing is realized, and the problem of low communication interface speed in the related art can be effectively solved. Therefore, the present disclosure effectively overcomes various shortcomings in the related art and has high industrial utilization value.

The above-mentioned embodiments only exemplarily illustrate the principle and efficacy of the present disclosure, and are not intended to limit the present disclosure. Anyone familiar with this technology may modify or change the above embodiments without departing from the spirit and scope of the present disclosure. Therefore, all equivalent modifications or changes made by those with ordinary knowledge in the technical field without departing from the spirit and technical idea disclosed by the present disclosure should still be covered by the claims of the present disclosure. 

1. A streaming processing interface structure, comprising: a control streaming dam, including an uplink control pin and a downlink control pin; a first logic unit, which is connected to an uplink object and the uplink control pin, and is used to determine, upon receiving a write request of the uplink object, whether the control streaming dam is writable according to a state of the uplink control pin; and a second logic unit, which is connected to a downlink object and the downlink control pin, and is used to determine, upon receiving a read request of the downlink object, whether the control streaming dam is readable according to a state of the downlink control pin.
 2. The streaming processing interface structure of claim 1, wherein the uplink control pin comprises: an uplink write enable pin, a data input pin, and an uplink compute logic pause state identification pin.
 3. The streaming processing interface structure of claim 2, wherein determining whether the control streaming dam is writable according to the state of the uplink control pin specifically comprises: determining whether the control streaming dam is full according to a signal on the uplink compute logic pause state identification pin; in response to determining that the control streaming dam is not full, making the control streaming dam writeable by sending an enable signal to the writeable enable pin; otherwise, making the control streaming dam not writeable.
 4. The streaming processing interface structure of claim 2, wherein the first logic unit comprises: a first inverter, which comprises an input end connected to the uplink compute logic pause state identification pin, and an output end leading to an uplink data identification end for connecting to the uplink object; and a first AND gate, which comprises a first input end connected to the uplink data identification end, a second input end connected to an uplink data valid end for connecting to the uplink object, and an output end connected to the uplink write enable pin.
 5. The streaming processing interface structure of claim 1, wherein the downlink control pin comprises: a downlink read enable pin, a data output pin, and a downlink compute logic pause state identification pin.
 6. The streaming processing interface structure of claim 5, wherein determining whether the control streaming dam is readable according to the state of the downlink control pin specifically comprises: upon receiving the read request of the downlink object, determining whether the control streaming dam is empty according to a signal on the downlink compute logic pause state identification pin; in response to determining that the control streaming dam is not empty, making the control streaming dam readable by sending an enable signal to the downlink read enable pin; otherwise, making the control streaming dam not readable.
 7. The streaming processing interface structure of claim 5, wherein the second logic unit comprises: a second inverter, which comprises an input end connected to the downlink compute logic pause state identification pin, and an output end leading to a downlink data valid end for connecting to the downlink object; and a second AND gate, which comprises a first input end connected to the downlink data valid end, a second input end connected to a downlink data identification end for connecting to the downlink object, and an output end connected to the downlink read enable pin.
 8. An electronic device, comprising at least one streaming processing interface structure of claim
 1. 9. The electronic device of claim 8, wherein the electronic device comprises a convolver and a deconvolver, wherein connection between internal components comprised in the convolver, connection between internal components comprised in the deconvolver, connection between the convolver and an external memory, and connection between the deconvolver and the external memory are each implemented through a data interface.
 10. An electronic apparatus, comprising the electronic device of claim
 8. 11. The electronic apparatus of claim 10, wherein the electronic device comprises a convolver and a deconvolver, wherein connection between internal components comprised in the convolver, connection between internal components comprised in the deconvolver, connection between the convolver and an external memory, and connection between the deconvolver and the external memory are each implemented through an data interface.
 12. The streaming processing interface structure of claim 3, wherein the first logic unit comprises: a first inverter, which comprises an input end connected to the uplink compute logic pause state identification pin, and an output end leading to an uplink data identification end for connecting to the uplink object; and a first AND gate, which comprises a first input end connected to the uplink data identification end, a second input end connected to an uplink data valid end for connecting to the uplink object, and an output end connected to the uplink write enable pin.
 13. The streaming processing interface structure of claim 6, wherein the second logic unit comprises: a second inverter, which comprises an input end connected to the downlink compute logic pause state identification pin, and an output end leading to a downlink data valid end for connecting to the downlink object; and a second AND gate, which comprises a first input end connected to the downlink data valid end, a second input end connected to a downlink data identification end for connecting to the downlink object, and an output end connected to the downlink read enable pin. 